package com.itheima.stargraph.service;

import com.itheima.stargraph.dto.request.Text2ImageReqDto;
import com.itheima.stargraph.dto.respone.Text2ImageResDto;
import com.itheima.stargraph.pojo.ComfyuiTask;

/**
 * 文生图业务层接口类
 *
 * @Author mr.wu
 * @Date 2025-6-11 11:43
 */
public interface Text2ImageService {


    /**
     * 获取Comfyui任务实例
     * @param dto
     * @return
     */
    ComfyuiTask getComfyuiTask(Text2ImageReqDto dto);

    /**
     * 将任务添加到缓存中排队
     * @param comfyuiTask
     */
    void addComfyuiTask(ComfyuiTask comfyuiTask);

    /**
     * 获取并删除缓存队列中的任务
     * @return
     */
    ComfyuiTask popComfyuiTask();

    /**
     * 文生图
     * @param dto
     * @return
     */
    Text2ImageResDto prompt(Text2ImageReqDto dto);

    /**
     * 添加开始执行的任务
     * @param promptId
     * @param comfyuiTask
     */
    void addStartedTask(String promptId , ComfyuiTask comfyuiTask);

    /**
     * 根据任务ID获取任务详情
     * @param promptId
     * @return
     */
    ComfyuiTask getStartedTask(String promptId);
}
